package com.niconicod.ofb.utils.flightmodel;

import com.badlogic.gdx.math.Vector2;

public abstract class FlightModel {

    protected Vector2 position;
    protected Vector2 startNoseDirection;

    protected float thrustLevel = 0;
    protected float rudderLevel = 0;

    public FlightModel(Vector2 position, Vector2 startNoseDirection) {
        this.position = position;
        this.startNoseDirection = startNoseDirection;
    }

    public abstract void act(float delta);

    public Vector2 getPosition() {
        return position;
    }

    public Vector2 getStartNoseDirection() {
        return startNoseDirection;
    }

    public abstract Vector2 getNoseDirection();

    public abstract float getAngleDeg();

    public float getThrustLevel() {
        return thrustLevel;
    }

    public void setThrustLevel(float thrustLevel) {
        this.thrustLevel = thrustLevel;
    }

    public float getRudderLevel() {
        return rudderLevel;
    }

    public void setRudderLevel(float rudderLevel) {
        this.rudderLevel = rudderLevel;
    }
}
